Plugin Elements
Plugin Elements
Here is a detailed description of each of the elements included in GstMoq and their properties.
rrmoqsink
rrmoqsink is a GStreamer sink element that consumes encoded audio and video buffers and publishes them to a Media over QUIC relay as MoQ tracks.
The internal representation of the media (e.g. fragmented containers or raw access units) is transparent to the user; the element operates directly on the encoded stream data provided by the pipeline.
Element Overview
Factory Details: Long-name MoQ Sink Klass Sink/Network Description Consumes encoded media and sends it over QUIC
Supported Caps
The sink pad accepts the following media formats:
video/x-h264(byte-stream, AU aligned)audio/mpeg(AAC, raw or ADTS)video/quicktime(iso-fragmented)
Pads
- sink (always available)
Key Properties
| Property | Description |
|---|---|
| channel | MoQ namespace / channel where the media is published |
| track-name | Track identifier within the channel |
| relay-url | URL of the MoQ relay endpoint |
The channel and track-name properties map directly to
MoQ namespaces and tracks.
Usage Notes
- The element expects pre-encoded audio or video buffers.
- Media format handling is transparent to the application as long as caps are supported.
rrmoqsrc
rrmoqsrc is a GStreamer source element that subscribes to media tracks from a Media over QUIC relay and exposes them as dynamic source pads.
It acts as a MoQ subscriber and outputs the received encoded media buffers into the pipeline.
Element Overview
Factory Details: Long-name MoQ Source Klass Source/MoQ Description Receives Media over QUIC
Pads
Pads are created dynamically based on the tracks received from the relay. The name of the pad corresponds to the name of the track.
Key Properties
| Property | Description |
|---|---|
| channel | Target broadcast channel/namespace |
| relay-url | URL of the MoQ relay endpoint to connect to (required) |
Both properties must be set while the element is in the NULL or READY state.
Usage Notes
- Pads are created on demand.
- The element outputs encoded media buffers exactly as published by the sender.
- Decoding can be performed downstream if required by the application.
rrmoqbin
rrmoqbin is a high-level GStreamer bin that simplifies working with Media over QUIC by managing multiple tracks, channels, and relay processes.
It is intended to be the primary integration point for applications that publish or forward multiple media streams over MoQ.
Element Overview
Factory Details: Long-name MoQ Bin Klass Sink/Bin Description Streams multiple media tracks across multiple channels with MoQ
Sink Pads
- sink_%u (request pads)
Each sink pad represents a separate MoQ track and exposes the following pad properties:
- channel: Target broadcast channel / namespace
- track-name: Track identifier within the channel
Supported Caps
video/x-h264(AVC, AU aligned)audio/aacvideo/quicktime(iso-fragmented)
Relay Management
rrmoqbin can operate in two relay modes:
- local: Spawns and manages a local relay process
- external: Connects to an existing external relay server
Relevant properties include:
| Property | Description |
|---|---|
| relay-mode | Select local or external relay |
| relay-bin | Executable used to spawn the local relay |
| relay-server-host-addr | Relay URL or bind address |
Web Build Extensions
When built with the web-build feature enabled, additional properties become available:
- run-web-server: Launch a development web server
- web-server-host-addr: Address where the web server listens
- web-server-path: Path to the web client project
This mode is intended for development and experimentation with browser-based MoQ clients.

Usage Notes
- Multiple sink pads can be requested to publish multiple tracks concurrently.
- The bin manages relay lifecycle and track publication internally.